Skip to content

Conversation

@kernel-patches-daemon-bpf-rc
Copy link

Pull request for series with
subject: xsk: fix immature cq descriptor production
version: 6
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=993583

@kernel-patches-daemon-bpf-rc
Copy link
Author

Upstream branch: e4414b0
series: https://patchwork.kernel.org/project/netdevbpf/list/?series=993583
version: 6

@kernel-patches-daemon-bpf-rc
Copy link
Author

Upstream branch: e4414b0
series: https://patchwork.kernel.org/project/netdevbpf/list/?series=993583
version: 6

Eryk reported an issue that I have put under Closes: tag, related to
umem addrs being prematurely produced onto pool's completion queue.
Let us make the skb's destructor responsible for producing all addrs
that given skb used.

Introduce struct xsk_addrs which will carry descriptor count with array
of addresses taken from processed descriptors that will be carried via
skb_shared_info::destructor_arg. This way we can refer to it within
xsk_destruct_skb(). In order to mitigate the overhead that will be
coming from memory allocations, let us introduce kmem_cache of
xsk_addrs. There will be a single kmem_cache for xsk generic xmit on the
system.

Commit from fixes tag introduced the buggy behavior, it was not broken
from day 1, but rather when xsk multi-buffer got introduced.

Fixes: b7f72a3 ("xsk: introduce wrappers and helpers for supporting multi-buffer in Tx path")
Reported-by: Eryk Kubanski <[email protected]>
Closes: https://lore.kernel.org/netdev/[email protected]/
Acked-by: Magnus Karlsson <[email protected]>
Signed-off-by: Maciej Fijalkowski <[email protected]>
Acked-by: Stanislav Fomichev <[email protected]>
@kernel-patches-daemon-bpf-rc
Copy link
Author

Upstream branch: 27861fc
series: https://patchwork.kernel.org/project/netdevbpf/list/?series=993583
version: 6

@kernel-patches-daemon-bpf-rc
Copy link
Author

At least one diff in series https://patchwork.kernel.org/project/netdevbpf/list/?series=993583 irrelevant now. Closing PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants